package com.plian.system.service.im;

import com.plian.system.entity.im.FundProjectInfo;
import com.plian.system.excel.ImportResult;
import com.plian.system.mybatis.base.BaseService;
import com.plian.system.vo.im.FundProjectInfoVO;

import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.List;
import java.util.concurrent.Future;

/**
 * 服务类
 *
 * @author
 * @since 2019-09-27
 */
public interface IFundProjectInfoService extends BaseService<FundProjectInfo> {

    /**
     * 项目信息导入
     * @param progressId
     * @param inputStream
     * @return
     */
    Future<ImportResult> importExcel(String progressId, InputStream inputStream);

    /**
     * 基金名称校验
     * @param fundProjectInfoVO
     * @return
     */
    String checkName(FundProjectInfoVO fundProjectInfoVO);

    /**
     * 导入模板下载
     * @param response
     * @param os
     */
    void exportTemplateExcel(HttpServletResponse response, OutputStream os);

    /**
     * 保存
     * @param fundProjectInfoVO
     * @return
     */
    boolean submit(FundProjectInfoVO fundProjectInfoVO);

    /**
     * 详情
     * @param fundProjectInfo
     * @return
     */
    FundProjectInfoVO detail(FundProjectInfo fundProjectInfo);

    /**
     * 详情列表
     * @param fundProjectInfos
     * @return
     */
    List<FundProjectInfoVO> detailList(List<FundProjectInfo> fundProjectInfos);

    String saveFundProjectInfos(String data);
}
